'\" t
.\"     Title: ALTER USER MAPPING
.\"    Author: The PostgreSQL Global Development Group
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 2021
.\"    Manual: PostgreSQL 13.3 Documentation
.\"    Source: PostgreSQL 13.3
.\"  Language: English
.\"
.TH "ALTER USER MAPPING" "7" "2021" "PostgreSQL 13.3" "PostgreSQL 13.3 Documentation"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ALTER_USER_MAPPING \- change the definition of a user mapping
.SH "SYNOPSIS"
.sp
.nf
ALTER USER MAPPING FOR { \fIuser_name\fR | USER | CURRENT_USER | SESSION_USER | PUBLIC }
    SERVER \fIserver_name\fR
    OPTIONS ( [ ADD | SET | DROP ] \fIoption\fR [\*(Aq\fIvalue\fR\*(Aq] [, \&.\&.\&. ] )
.fi
.SH "DESCRIPTION"
.PP
\fBALTER USER MAPPING\fR
changes the definition of a user mapping\&.
.PP
The owner of a foreign server can alter user mappings for that server for any user\&. Also, a user can alter a user mapping for their own user name if
USAGE
privilege on the server has been granted to the user\&.
.SH "PARAMETERS"
.PP
\fIuser_name\fR
.RS 4
User name of the mapping\&.
CURRENT_USER
and
USER
match the name of the current user\&.
PUBLIC
is used to match all present and future user names in the system\&.
.RE
.PP
\fIserver_name\fR
.RS 4
Server name of the user mapping\&.
.RE
.PP
OPTIONS ( [ ADD | SET | DROP ] \fIoption\fR [\*(Aq\fIvalue\fR\*(Aq] [, \&.\&.\&. ] )
.RS 4
Change options for the user mapping\&. The new options override any previously specified options\&.
ADD,
SET, and
DROP
specify the action to be performed\&.
ADD
is assumed if no operation is explicitly specified\&. Option names must be unique; options are also validated by the server\*(Aqs foreign\-data wrapper\&.
.RE
.SH "EXAMPLES"
.PP
Change the password for user mapping
bob, server
foo:
.sp
.if n \{\
.RS 4
.\}
.nf
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password \*(Aqpublic\*(Aq);
.fi
.if n \{\
.RE
.\}
.SH "COMPATIBILITY"
.PP
\fBALTER USER MAPPING\fR
conforms to ISO/IEC 9075\-9 (SQL/MED)\&. There is a subtle syntax issue: The standard omits the
FOR
key word\&. Since both
CREATE USER MAPPING
and
DROP USER MAPPING
use
FOR
in analogous positions, and IBM DB2 (being the other major SQL/MED implementation) also requires it for
ALTER USER MAPPING, PostgreSQL diverges from the standard here in the interest of consistency and interoperability\&.
.SH "SEE ALSO"
CREATE USER MAPPING (\fBCREATE_USER_MAPPING\fR(7)), DROP USER MAPPING (\fBDROP_USER_MAPPING\fR(7))
